package com.first.module.acm.dao;

import java.util.List;
import java.util.Set;

import com.first.core.dao.BaseDao;
import com.first.core.util.PagingBean;
import com.first.module.acm.model.AppUser;
import com.first.module.acm.model.Department;

public abstract interface AppUserDao extends BaseDao<AppUser>
{
  public abstract AppUser findByUserName(String paramString);
  
  /**
   * 根据服务中心或媒体编号获取用户信息
   * @param codeNum	服务中心或媒体编号
   * @return
   */
  public AppUser findByCodeNum(String codeNum);

  public abstract List findByDepartment(String paramString, PagingBean paramPagingBean);

  public abstract List findByDepartment(String paramString);

  public abstract List findByDepartment(Department paramDepartment);

  public abstract List findByRole(Long paramLong);

  public abstract List findByRole(Long paramLong, PagingBean paramPagingBean);

  public abstract List findByRoleId(Long paramLong);

  public abstract List<AppUser> findSubAppUser(String paramString, Set<Long> paramSet, PagingBean paramPagingBean);

  public abstract List<AppUser> findSubAppUserByRole(Long paramLong, Set<Long> paramSet, PagingBean paramPagingBean);

  public abstract List<AppUser> findByDepId(Long paramLong);
}

